package Kruskal;

import java.util.*;

import Graphe.Arrete;
import Graphe.Graphe;
import Graphe.Lecture;

public class Kruskal {

    public static void trierParCout(List<Arrete> listeArretes) {
        Collections.sort(listeArretes, new Comparator<Arrete>() {
            @Override
            public int compare(Arrete a1, Arrete a2) {
                return a1.getCout() - a2.getCout();
            }
        });

    }

    public static void main(String args[]) {


        Graphe grapheEntree = new Graphe();
        List<Arrete> arreteATrier = new ArrayList<Arrete>();

        // On récupère le graphe et la liste d'arretes
        grapheEntree = Lecture.lectureGraphe();
        arreteATrier = grapheEntree.getListArretes();

        long timeStart = System.currentTimeMillis();

        // Tri du graphe par cout
        trierParCout(arreteATrier);

        // On lance une union Find
        UnionFind.UF(arreteATrier);


        System.out.println("Temps d'éxécution : "+(System.currentTimeMillis()-timeStart)+" ms.");
    }


}


